home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 11 / Cream of the Crop 11-1.iso / program / cpc2.zip / CP1.DOC < prev    next >
Text File  |  1996-01-13  |  35KB  |  1,123 lines

  1.  
  2.     Geist Microsystems                           CodePrint for C/C++
  3.  
  4.  
  5.  
  6.  
  7.  
  8.     C o d e P r i n t   f o r   C / C + +
  9.  
  10.     V e r s i o n   2 . x x
  11.  
  12.     U s e r   M a n u a l 
  13.  
  14.  
  15.  
  16.  
  17.  
  18.     Copyright (c) 1991-1996 by Geist Microsystems. 
  19.     All rights reserved. 
  20.  
  21.     CodePrint is a trademark of Geist Microsystems.  Other brand and 
  22.     product names are trademarks or registered trademarks of their 
  23.     respective holders.
  24.  
  25.     Geist Microsystems, makes no warranties with respect to this
  26.     documentation and disclaims any implied warranties of 
  27.     merchantability or fitness for a particular purpose.  
  28.     Information in this document is subject to change without notice.  
  29.     Geist Microsystems assumes no repsonsibility for errors that may 
  30.     appear in this document.  From time to time, changes may occur 
  31.     in filenames and files included on the distribution disks.  
  32.     Geist Microsystems makes no warranties that such files or 
  33.     facilities as mentioned in this documentation exist on the 
  34.     distribution disks or as part of the materials distributed.
  35.     This manual applies only to CodePrint for C/C++ version 
  36.     2.00 or later.
  37.  
  38.     CODEPRINT IS A SHAREWARE PRODUCT.  YOU MAY USE THE PROGRAM ON A
  39.     TRIAL BASIS FOR 30 DAYS AND YOU MAY COPY THE PROGRAM FOR OTHERS 
  40.     TO TRY.  IF YOU FIND THE PROGRAM USEFUL AND YOU CONTINUE TO USE
  41.     THE SOFTWARE, YOU NEED TO REGISTER YOUR COPY.  REGISTERED USERS 
  42.     RECEIVE A PRINTED MANUAL, DISK, ONE FREE UPGRADE, ONE YEAR OF 
  43.     PRODUCT SUPPORT VIA COMPUSERVE E-MAIL, PHONE SUPPORT, AND 
  44.     NOTIFICATION OF FUTURE PRODUCTS/UPGRADES.  
  45.  
  46.     Please direct your registration and product support inquiries 
  47.     to:
  48.  
  49.             Geist Microsystems
  50.             7518 Geist Estates Drive
  51.             Indianapolis, IN 46236
  52.             Phone (317) 823-1384  
  53.             CompuServe 70404,3246
  54.  
  55.     Geist Microsystems is a member of the Association of Shareware
  56.     Professionals (ASP).
  57.  
  58.  
  59.     User Manual                                                    i
  60.  
  61.     Geist Microsystems                           CodePrint for C/C++
  62.  
  63.  
  64.  
  65.  
  66.  
  67.     TABLE OF CONTENTS
  68.  
  69.  
  70.     Chapter 1    
  71.  
  72.     1.0  Introduction ............................................ 1     
  73.     1.1  System Requirements ..................................... 3
  74.     1.2  Disk Contents ........................................... 3
  75.     1.3  How CodePrint Works ..................................... 4
  76.     
  77.  
  78.     Chapter 2    
  79.  
  80.     2.0  Installing CodePrint .................................... 5
  81.     2.1  Hewlett Packard LaserJet Printer Emulation .............. 6
  82.     2.2  Hewlett Packard LaserJet Printer Options ................ 6
  83.     2.3  Page Breaks for Multiple Functions ...................... 7
  84.  
  85.  
  86.     Chapter 3    
  87.  
  88.     3.0  Using CodePrint ......................................... 9
  89.     3.1  CodePrint Command Syntax ................................ 9
  90.     3.2  CodePrint File Specification ............................ 9
  91.     3.3  Setting the CodePrint Environment ...................... 10
  92.     3.4  CodePrint Options ...................................... 11
  93.     3.5  CodePrint Options Arranged by Category ................. 18
  94.  
  95.  
  96.     Chapter 4    
  97.  
  98.     4.0  CodePrint Features ..................................... 19
  99.     4.1  Reformatter ............................................ 19
  100.     4.1  Pretty Printer ......................................... 19
  101.     4.2  On-Line Help ........................................... 19
  102.     4.3  Batch Processing and Print Spooling .................... 20
  103.     4.4  Keyword Templates ...................................... 21
  104.     4.5  Error Messages ......................................... 22
  105.  
  106.  
  107.     Index ....................................................... 26
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.     User Manual                                                   ii
  119.  
  120.     Geist Microsystems                           CodePrint for C/C++
  121.  
  122.  
  123.  
  124.  
  125.  
  126.     C o d e P r i n t   f o r   C / C + +
  127.  
  128.     C h a p t e r   1
  129.  
  130.     I n t r o d u c t i o n
  131.  
  132.  
  133.  
  134.  
  135.  
  136.     1.0   INTRODUCTION
  137.  
  138.     CodePrint for C/C++ is a command-line driven source code 
  139.     reformatter and pretty printer for the C programming language 
  140.     with additional support for the C++ extensions.  As a source 
  141.     code reformatter, CodePrint can quickly standardize the look of 
  142.     your source code.  As a pretty printer, CodePrint can enhance 
  143.     the readabilty of your printouts.  It can assist you in 
  144.     understanding code during maintenance and debugging and it's a 
  145.     great way to print out final source code listings.  CodePrint 
  146.     offers you many optional customization features, enabling you to 
  147.     format code the way you want to see it.  The program provides 
  148.     on-line help, user-friendly error messages, batch processing and 
  149.     print spooling to make the program easy to use. 
  150.  
  151.     -   Reformatter
  152.  
  153.     The reformatting features include syntax driven auto-indenting, 
  154.     selection of indent style, alignment of comments, editable 
  155.     keyword templates, adjustable tab spacing and line editing for 
  156.     consistent whitespace. 
  157.   
  158.     -   Pretty Printer
  159.   
  160.     The pretty printer optional features include flow lines to 
  161.     enhance the visualization of code structure, a header with 
  162.     filename, time and date, page breaks, page numbers, form feeds, 
  163.     condensed printing, doublestrike printing of keywords, 
  164.     emphasized printing of executable code, italic printing of 
  165.     function identifiers, adjustable margins and line numbers.
  166.   
  167.     -   On-Line Help
  168.   
  169.     The on-line help provides you with a quick and limited reference
  170.     to CodePrint command syntax and command-line options.
  171.  
  172.  
  173.  
  174.  
  175.  
  176.  
  177.     User Manual                                         Page 1 of 30
  178.  
  179.     Geist Microsystems                           CodePrint for C/C++
  180.  
  181.  
  182.     -   Batch Processing 
  183.   
  184.     You can format and/or pretty print your files in batch mode by 
  185.     entering more than one file name on the command line, by using 
  186.     DOS wild cards or by specifying a file list.  CodePrint will 
  187.     process as many files as the print buffer will hold.  And 
  188.     because CodePrint makes use of the DOS print spooler, you don't 
  189.     have to wait for the printer to finish before you can continue 
  190.     to use your computer.
  191.   
  192.     -   Local Area Network Compatibility
  193.   
  194.     CodePrint captures the environment variables of your LAN and 
  195.     provides print capability by spawning to DOS PRINT.  You may 
  196.     however chose to deactivate the print feature of CodePrint and
  197.     use a spooling program or a network utility to print the output
  198.     files from CodePrint.
  199.   
  200.     -   Error Messages
  201.   
  202.     CodePrint provides user-friendly error messages with suggestions 
  203.     for corrective actions to assist you.  A complete listing of
  204.     error messages is provided in section 4.5.
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.     User Manual                                         Page 2 of 30
  237.  
  238.     Geist Microsystems                           CodePrint for C/C++
  239.     
  240.  
  241.     1.1   SYSTEM REQUIREMENTS
  242.   
  243.     -   An IBM Personal Computer or "compatible" running MS-DOS or 
  244.         PC-DOS Version 3.1 or later.
  245.   
  246.     -   A hard disk drive.
  247.   
  248.     -   512K bytes installed memory.   
  249.   
  250.     -   A dot matrix, daisy wheel or laser printer is required for 
  251.         the pretty printer features.  CodePrint provides support for 
  252.         Epson FX, IBM Proprinter, HP LaserJet Series IIP, 
  253.         Diablo 630, NEC 3550 and Qume Sprint 11 printer "emulations". 
  254.         (One of the above printer emulations should be suitable with 
  255.         almost any printer.)
  256.  
  257.   
  258.     1.2   DISK CONTENTS
  259.   
  260.     The following files are included on your product disk.  You will 
  261.     also find these files listed in the file named PACKING.LST.
  262.              
  263.     File Name     Description
  264.   
  265.     C.BOR         The keyword template for Borland C and Turbo C.
  266.     C.DEF         The keyword template for ANSI Standard C.
  267.     C.MS          The keyword template for Microsoft C and QuickC.
  268.     CP.EXE        The CodePrint reformatter and pretty printer.
  269.     CP1.DOC       The CodePrint documentation - section 1.
  270.     CP2.DOC       The CodePrint documentation - section 2.
  271.     CPP.BOR       The keyword template for Turbo C++ and Borland C++.
  272.     CPP.DEF       The keyword template for C++ extensions to ANSI C.
  273.     CPP.MS        The keyword template for C++ extensions to MS C/C++.
  274.     DESCRIBE.DOC  Software description and author information.
  275.     FILE_ID.DIZ   Product description for PCBoard BBSes.
  276.     HISTORY.DOC   Product history and background.
  277.     INSTALL.EXE   The installation program.
  278.     LICENSE.DOC   License information.
  279.     PACKING.LST   A list of files included on the product disk.
  280.     README.DOC    Last minute information you should read.
  281.     REGISTER.DOC  The registration and order form.
  282.     SHR-WARE.DOC  Shareware and the ASP.
  283.     SUPPORT.DOC   Product support.
  284.     SYSOP.DOC     BBS sysop information.
  285.     VENDOR.DOC    Vendor distribution information.
  286.     VIRUS.DOC     Computer virus myths.
  287.     WARRANTY.DOC  Warranty information.
  288.  
  289.  
  290.  
  291.  
  292.  
  293.  
  294.  
  295.     User Manual                                         Page 3 of 30
  296.  
  297.     Geist Microsystems                           CodePrint for C/C++
  298.  
  299.  
  300.     1.3   HOW CodePrint WORKS
  301.       
  302.     CodePrint reads from your syntax-error-free C or C++ source file 
  303.     and creates a new output file without modifying your original 
  304.     source code.  If you are using CodePrint as a reformatter, then 
  305.     the output file will be provided with consistent spacing between 
  306.     tokens, syntax-driven indenting for the indent style you 
  307.     selected and alignment of comments.  If you are using CodePrint 
  308.     as a pretty printer, then the output file will also contain the 
  309.     proper escape sequences needed to enhance the printout's 
  310.     readability for the printer emulation you have selected.  A 
  311.     header, pagebreaks, page numbers, line numbers and flow lines 
  312.     are some of the optional pretty printer features.  CodePrint can 
  313.     also send your output files to the printer. 
  314.       
  315.     -   Reminder
  316.       
  317.     CodePrint is designed for processing syntax-error-free source 
  318.     code.  Using CodePrint on source code with syntax errors may 
  319.     result in unpredictable behavior.  To avoid problems, run your 
  320.     source code through your compiler or syntax checker first!  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338.  
  339.  
  340.  
  341.  
  342.  
  343.  
  344.  
  345.  
  346.  
  347.  
  348.  
  349.  
  350.  
  351.  
  352.  
  353.  
  354.     User Manual                                         Page 4 of 30
  355.  
  356.     Geist Microsystems                           CodePrint for C/C++
  357.  
  358.  
  359.  
  360.  
  361.  
  362.     C o d e P r i n t   f o r   C / C + + 
  363.  
  364.     C h a p t e r   2
  365.  
  366.     I n s t a l l a t i o n
  367.   
  368.  
  369.  
  370.  
  371.   
  372.     2.0   INSTALLING CodePrint
  373.   
  374.     -   Executing the Install Program
  375.   
  376.     An install program is provided for loading CodePrint onto your 
  377.     hard disk.   First load the product disk into your disk drive.  
  378.     Enter the letter designation of the drive for the product disk, 
  379.     followed by a colon and press ENTER.  Then type INSTALL as shown 
  380.     below:
  381.   
  382.          C> A:
  383.          A> INSTALL
  384.   
  385.     The install program will:
  386.   
  387.          (1) Prompt you for information about source and destination 
  388.               drives.
  389.          (2) Prompt you for information about your printer.
  390.          (3) Prompt you for information about your compiler.
  391.          (4) Create new directories on your hard drive.
  392.          (5) Copy program and support files to your hard drive.
  393.          (6) Create an initialization file, CPINI.BAT, and place it 
  394.               in the default directory.
  395.          (7) Add the instruction, CPINI, to your autoexec.bat.
  396.   
  397.     CodePrint options that reside in the CP environment are saved in 
  398.     an initialization file each time you run the program.  The 
  399.     initialization file is activated when you reboot.  The 
  400.     initialization file, CPINI.BAT will then restore the previous CP 
  401.     environment with the SET CP command.  The setting for the 
  402.     destination drive is restored with the SET CPDRIVE command and 
  403.     the setting for the HP paper size, orientation and symbol set is 
  404.     restored with the SET HP command. 
  405.  
  406.  
  407.  
  408.  
  409.  
  410.  
  411.  
  412.  
  413.     User Manual                                         Page 5 of 30
  414.  
  415.     Geist Microsystems                           CodePrint for C/C++
  416.  
  417.  
  418.     -   Modifying Your AUTOEXEC.BAT File
  419.     
  420.     You will need to set a path to the main directory, the DOS 
  421.     directory and the CodePrint language directory.  Assuming that
  422.     you have loaded CodePrint onto your C: drive, add the following 
  423.     information to the path in your AUTOEXEC.BAT:
  424.     
  425.          PATH=C:\;C:\DOS;C:\CP\C;C:\CP\CPP;
  426.     
  427.     CodePrint makes use of the print spooler built into the DOS 
  428.     PRINT command.  The PRINT /Q:queuesize switch controls the 
  429.     number of files that may be in the print queue at any one time.  
  430.     The allowable range is 1 to 32.  The default is 10.  To provide 
  431.     the maximum number of files in the print queue, add the 
  432.     following line to your AUTOEXEC.BAT:
  433.  
  434.          PRINT /Q:32
  435.  
  436.     If you have issued the PRINT command in the current DOS session,
  437.     you will also have to reboot to before you can change the size
  438.     of the print queue.
  439.   
  440.     -   Check for DOS PRINT 
  441.   
  442.     Since CodePrint makes use of the DOS PRINT command, you will 
  443.     need to check that PRINT.COM or PRINT.EXE has been loaded in the 
  444.     main directory C:\ or the DOS directory C:\DOS. 
  445.  
  446.     -   Check Your Printer Configuration
  447.      
  448.     Make sure that your printer is configured correctly by checking 
  449.     your printer manual for the proper internal switch settings.  If 
  450.     you do not have a printer to match the list of available 
  451.     configurations, you may utilize your printer by using the 
  452.     default setting.  However, many of the enhanced printer features 
  453.     are not available with the default setting.
  454.      
  455.     -   Local Area Network (LAN) Compatibility
  456.      
  457.     CodePrint will allow you to operate in a LAN environment. 
  458.     Actually, the preparation required for you to run CodePrint in 
  459.     a LAN environment is no different than the set-up you currently 
  460.     perform to use the DOS PRINT command.  If you can access a 
  461.     printer on your LAN with the PRINT command you should be able to 
  462.     access the same printer with CP.  In fact, CodePrint captures 
  463.     the DOS environment variables of your active session and 
  464.     provides print capability by spawning to DOS PRINT.  CodePrint 
  465.     should be loaded on each of the network nodes rather than on the 
  466.     network server.
  467.  
  468.  
  469.  
  470.  
  471.  
  472.     User Manual                                         Page 6 of 30
  473.  
  474.     Geist Microsystems                           CodePrint for C/C++
  475.          
  476.  
  477.     2.1   HEWLETT PACKARD LASERJET PRINTER EMULATION
  478.       
  479.     If you are configuring CodePrint for HP or HPL printer emulation 
  480.     you may alter the symbol set with the command:
  481.       
  482.          C> SET HP=[hp laserjet options]
  483.       
  484.  
  485.     2.2   HEWLETT PACKARD LASERJET OPTIONS
  486.  
  487.     You can select the paper size, the orientation and symbol set
  488.     by modifying the following HP LaserJet printer options.
  489.  
  490.     /Pn     PAPER SIZE
  491.  
  492.         The /P option controls the paper size option.  The table 
  493.         below provides the paper sizes available for HP LaserJet 
  494.         Series IIP printer emulation and the corresponding value 
  495.         of n.
  496.  
  497.         ┌───────────────┬───────────────┬──────────────────────┐
  498.         │ Value of n    │ Paper Size    │ Dimensions           │
  499.         ├───────────────┼───────────────┼──────────────────────┤
  500.         │ 0             │ Letter        │ 8-1/2" x 11"         │
  501.         │ 1             │ Executive     │ 7-1/4" x 10-1/2"     │ 
  502.         │ 2             │ Legal         │ 8-1/2" x 14"         │
  503.         │ 3             │ A4            │ 210 x 297 mm         │
  504.         └───────────────┴───────────────┴──────────────────────┘
  505.  
  506.     /On     ORIENTATION
  507.  
  508.         The /O option controls the orientation option. Specify
  509.         n=0 for portrait orientation and n=1 for landscape
  510.         orientation.
  511.  
  512.     /Sn     SYMBOL SET
  513.  
  514.         The /S option controls the symbol set option.  
  515.  
  516.         (continued on next page)
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  
  529.  
  530.  
  531.     User Manual                                         Page 7 of 30
  532.  
  533.     Geist Microsystems                           CodePrint for C/C++
  534.  
  535.  
  536.         The table below provides the symbol sets available for 
  537.         HP LaserJet Series IIP printer emulation and the 
  538.         corresponding value of n.
  539.       
  540.         ┌───────────────┬────────────────────────────┬─────────┐
  541.         │ Value of n    │ HP Symbol Set              │ ID #    │
  542.         ├───────────────┼────────────────────────────┼─────────┤
  543.         │  0            │ PC-8 (default)             │ 10U     │
  544.         │  1            │ PC-8 D/N                   │ 11U     │
  545.         │  2            │ Roman-8                    │  8U     │
  546.         │  3            │ PC 850                     │ 12U     │
  547.         │  4            │ ECMA94 Latin-1             │  0N     │
  548.         │  5            │ ISO ANSI ASCII             │  0U     │
  549.         │  6            │ ISO JIS ASCII              │  0K     │
  550.         │  7            │ ISO United Kingdom         │  1E     │
  551.         │  8            │ ISO HP Spanish             │  1S     │
  552.         │  9            │ ISO Chinese                │  2K     │
  553.         └───────────────┴────────────────────────────┴─────────┘
  554.  
  555.     Although CodePrint works with any HP LaserJet printer (or
  556.     compatible), to take full advantage of all of the pretty 
  557.     printing features, your printer should be equipped with the
  558.     following fonts in both portrait and landscape orientation: 
  559.       
  560.         Courier, Medium, 10 Pitch, 12 Point 
  561.         Courier, Bold, 10 Pitch, 12 Point     
  562.         Courier, Italic, 10 Pitch, 12 Point
  563.         Courier, Light, 10 Pitch, 12 Point
  564.         Courier, Medium, 12 Pitch, 10 Point
  565.         Courier, Bold, 12 Pitch, 10 Point
  566.         Courier, Italic, 12 Pitch, 10 Point
  567.         Courier, Light, 12 Pitch, 10 Point
  568.         Line Printer, Medium, 16.67 Pitch, 7 Point
  569.  
  570.  
  571.     2.3   PAGE BREAKS FOR MULTIPLE FUNCTIONS
  572.       
  573.     If you write your source code with multiple functions in a single 
  574.     file, you may want each function to start printing on a new page.
  575.     CodePrint provides a form feed prior to printing a function 
  576.     when two or more previous lines are left blank.  You can toggle 
  577.     this feature on or off with the set command as follows:
  578.       
  579.          C> SET FORMFEED=n
  580.       
  581.     where n is 0 for ON and 1 for OFF.  There is no command 
  582.     available to toggle the form feed from the CP command line.
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.     User Manual                                         Page 8 of 30
  591.  
  592.     Geist Microsystems                           CodePrint for C/C++
  593.  
  594.  
  595.  
  596.  
  597.  
  598.     C o d e P r i n t   f o r   C / C + + 
  599.  
  600.     C h a p t e r   3
  601.  
  602.     U s i n g   C o d e P r i n t
  603.  
  604.  
  605.  
  606.  
  607.  
  608.     3.1   CodePrint COMMAND SYNTAX
  609.      
  610.     The CodePrint program is issued from the DOS command line.  The 
  611.     format for invoking CodePrint is:
  612.      
  613.          C> CP <file specification> [options]
  614.  
  615.  
  616.     3.2   CodePrint FILE SPECIFICATION
  617.      
  618.     The file specification can be a single file, multiple files 
  619.     (separated by spaces), or the name of a file listing immediately 
  620.     preceded by the @ symbol.  To guard against the processing of 
  621.     invalid files, CodePrint will only accept file names with legal 
  622.     extensions.  The legal extensions of filespec for C and C++ are 
  623.     ".C", ".CPP", ".H" and ".HPP".
  624.      
  625.     For example, a command to process a single C or CPP source file 
  626.     might be:
  627.      
  628.          C> CP MYFILE.C 
  629.  
  630.     ... or ...
  631.  
  632.          C> CP MYFILE.CPP 
  633.  
  634.     or a command to process multiple C or C++ source files:
  635.         
  636.          C> CP FILE1.C FILE2.C FILE3.C 
  637.         
  638.     ... or ...
  639.         
  640.          C> CP FILE1.CPP FILE2.CPP FILE3.CPP
  641.         
  642.     or a command to process a C or C++ source file listing:
  643.  
  644.          C> CP @MYFILES.LST 
  645.  
  646.  
  647.  
  648.  
  649.     User Manual                                         Page 9 of 30
  650.  
  651.     Geist Microsystems                           CodePrint for C/C++
  652.  
  653.  
  654.     If you create a file listing, put each file name on a separate 
  655.     line.  You can reformat as many as 100 files or pretty print
  656.     up to 32 files (the maximum size of the PRINT buffer) in batch
  657.     mode.
  658.  
  659.  
  660.     3.3   SETTING THE CP ENVIRONMENT 
  661.  
  662.     You may not want to type options each time you run the program. 
  663.     You can avoid the necessity for retyping the options by setting 
  664.     the CodePrint options just once with the DOS SET command.  The 
  665.     format for permanently setting the CodePrint options in a DOS 
  666.     session is:
  667.  
  668.          C> SET CP=[options]
  669.       
  670.     For example:
  671.       
  672.          C> SET CP=/F/G1/J80
  673.       
  674.     To check the contents of the environment simply enter SET from 
  675.     the DOS command line:      
  676.       
  677.          C> SET
  678.       
  679.     Options entered at the command line take precedence over the
  680.     CP environment settings.
  681.  
  682.  
  683.  
  684.  
  685.  
  686.  
  687.  
  688.  
  689.  
  690.  
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.     User Manual                                        Page 10 of 30
  709.  
  710.     Geist Microsystems                           CodePrint for C/C++
  711.     
  712.                  
  713.     3.4   CodePrint OPTIONS
  714.       
  715.     You may enter one or more options on the command line.  Although 
  716.     the examples in the manual may show spaces separating each 
  717.     option (for clarity), you are not required to provide spaces 
  718.     between options.  The following information is provided to 
  719.     assist you with the use of CP options.  Each option deactivates
  720.     one or more features of CodePrint.  In the absence of these 
  721.     options all of the features are active and/or set to default 
  722.     values.
  723.       
  724.     /A      AUTOINDENT
  725.       
  726.         The /A option deactivates the auto-indent feature.  When 
  727.         the auto-indent feature is active, it provides syntax 
  728.         driven automatic indenting for code blocks and loops. 
  729.         The tab spacing for each indent level can be set with 
  730.         the /T option.
  731.  
  732.     /Bn     PAGE BREAKS
  733.       
  734.         The /B option controls the pagebreak feature.  The page-
  735.         break feature provides a form feed at the end of each 
  736.         page for non-zero arguments.  Page breaks occur at the 
  737.         end of each page length.  The length of a page is set by 
  738.         the argument n.  By setting the value of n to -1 you
  739.         allow the program to select the maximum number of lines 
  740.         that can fit on the page.  The default value for n is -1. 
  741.         You can deactivate the pagebreak feature altogether by 
  742.         entering 0 as an argument.
  743.  
  744.     /Cn     COMPRESSED PRINTING
  745.         
  746.         The /C option controls the compressed printing feature. 
  747.         The compressed printing feature provides for variations 
  748.         in the pitch.  The following table defines the pitch 
  749.         (characters per inch) for each valid argument n and the 
  750.         corresponding printer emulation. 
  751.       
  752.                   ┌────────────────────────────────────────┐
  753.                   │               Pitch (cpi)              │
  754.         ┌─────────────┼────────────────────────────────────────┤
  755.         │ Value of n  │ Other Epson IBM  HPLJ  Diablo Qume NEC │
  756.         ├─────────────┼────────────────────────────────────────┤
  757.         │ 0           │ *10   17    20  *16.67  10    10   15  │
  758.         │ 1           │ *10   10    15    12    10    10   12  │
  759.         │ 2           │ *10   10    12    10    10    10   10  │
  760.         └─────────────┴────────────────────────────────────────┘
  761.       
  762.           * NOTE: The special printing features (DOUBLESTRIKE, 
  763.         EMPHASIZED, ITALICS and UNDERLINE) are not available for 
  764.         these settings!
  765.  
  766.  
  767.     User Manual                                        Page 11 of 30
  768.  
  769.     Geist Microsystems                           CodePrint for C/C++
  770.          
  771.       
  772.         For HP and HPL emulation the /Cn option also compresses 
  773.         the vertical spacing.  The following table defines the 
  774.         vertical motion index (VMI) and the resulting lines per 
  775.         page for each valid argument n.
  776.       
  777.                           ┌────────────────────────┐
  778.                           │     Lines Per Page     │
  779.         ┌─────────────┬───────┬───────┼────────────┬───────────┤
  780.         │ Value of n  │ Point │  VMI  │ Portrait   │ Landscape │
  781.         ├─────────────┼───────┼───────┼────────────┼───────────┤
  782.         │ 0           │   7   │ 6.00  │ 80         │ 60        │
  783.         │ 1           │  10   │ 6.32  │ 63         │ 57        │
  784.         │ 2           │  12   │ 8.00  │ 60         │ 45        │
  785.         └─────────────┴───────┴───────┴────────────┴───────────┘
  786.       
  787.     /D      DOUBLESTRIKE PRINTING (of keywords) 
  788.       
  789.         The /D option supresses the doublestrike printing 
  790.         feature.  When the doublestrike printing feature is 
  791.         active, it provides for doublestrike printing of 
  792.         keywords.  Doublestrike printing is equivalent to the 
  793.         BOLD typeface.
  794.       
  795.     /E      EMPHASIZED PRINTING (of executable code)
  796.  
  797.         The /E option deactivates the emphasized printing 
  798.         feature.  When the emphasized printing feature is 
  799.         active, it provides for emphasized printing of 
  800.         executable code.  Emphasized printing is equivalent to
  801.         the MEDIUM typeface. 
  802.         
  803.     /F      FLOW LINES
  804.         
  805.         The /F option deactivates the flow lines feature. When 
  806.         this feature is active, it provides flow lines for 
  807.         visualizing code blocks and loops.  The vertical flow 
  808.         lines feature has no effect when the auto-indent feature 
  809.         is inactive. 
  810.         
  811.     /Gn     PRINTER CONFIGURATION
  812.         
  813.         The /G option deactivates the printer configuration 
  814.         feature.  You will need to set this option to match the 
  815.         dip switch settings if you have a dot matrix printer.  If 
  816.         you are not familiar with how to configure you printer, 
  817.         consult your printer manual.  Then set the dip switches 
  818.         in your printer accordingly.
  819.  
  820.  
  821.  
  822.  
  823.  
  824.  
  825.  
  826.     User Manual                                        Page 12 of 30
  827.  
  828.     Geist Microsystems                           CodePrint for C/C++
  829.  
  830.  
  831.         ┌─────────────┬────────────────────────────────────────┐
  832.         │ Value of n  │ Printer Configuration (Emulation)      │
  833.         ├─────────────┼────────────────────────────────────────┤
  834.         │ 0           │ Other (default)                        │
  835.         │ 1           │ Epson FX                               │
  836.         │ 2           │ IBM Proprinter                         │
  837.         │ 3           │ HP LaserJet Series IIP (Portrait)      │
  838.         │ 4           │ Diablo 630                             │
  839.         │ 5           │ NEC 3550                               │
  840.         │ 6           │ Qume Sprint 11                         │
  841.         │ 7           │ HP LaserJet Series IIP (Landscape)     │
  842.         └─────────────┴────────────────────────────────────────┘
  843.         
  844.         The special printing features (COMPRESSED, 
  845.         DOUBLESTRIKE, EMPHASIZED, ITALICS and UNDERLINE) are not 
  846.         valid for the default printer configuration.  The 
  847.         italics printing feature is not a valid feature of the 
  848.         IBM, DIABLO and NEC printer configurations.  
  849.         
  850.           * NOTE: You MUST have access to the necessary fonts for 
  851.         printing in any HP emulation!
  852.         
  853.     /H      HEADER
  854.         
  855.         The /H option deactivates the header feature.  When the 
  856.         header feature is active, it provides for a header at 
  857.         the top of each file listing.  The header consists of the 
  858.         filename, time and date that the file was printed.
  859.      
  860.     /I      ITALIC PRINTING (of function identifiers)
  861.         
  862.         The /I option deactivates the italicized printing 
  863.         feature.  When the italicized printing feature is 
  864.         active, it provides for italicized printing of function 
  865.         identifiers.
  866.         
  867.     /Jn     JUSTIFICATION (of in-line comments) 
  868.         
  869.         The /J option controls the justification (alignment) of 
  870.         in-line comments.  If you want comments to be left 
  871.         justifed then n must be a positive integer.  If you want 
  872.         comments to be right justified then n must be a negative 
  873.         integer.  If n=0, then a tab is placed between the end 
  874.         of the executable code and the beginning of each 
  875.         comment.  If n is non-zero, it represents the number of 
  876.         characters from the left or right edge of the printout. 
  877.         The default is n=80, leaving all in-line comments 
  878.         aligned on the 80th column from the left edge of the 
  879.         paper.
  880.  
  881.  
  882.  
  883.  
  884.  
  885.     User Manual                                        Page 13 of 30
  886.  
  887.     Geist Microsystems                           CodePrint for C/C++
  888.         
  889.         
  890.         ┌─────────────┬────────────────────────────────────────┐
  891.         │ Value of n  │ Effect On In-line Comments             │
  892.         ├─────────────┼────────────────────────────────────────┤
  893.         │ Zero        │ Tab before each comment                │
  894.         │ Positive    │ Left justified from left edge          │
  895.         │ Negative    │ Right justified from right edge        │
  896.         └─────────────┴────────────────────────────────────────┘
  897.         
  898.         The justification feature has no effect when the 
  899.         autoindent feature is inactive.
  900.         
  901.     /Kn     KEYWORD TEMPLATE
  902.         
  903.         The /K option controls the keyword template feature.  
  904.         The keyword template feature provides a limited 
  905.         selection of keyword templates supporting popular C and 
  906.         C++ compilers.  You may also edit these files.  The 
  907.         default is n=0, resulting in the use of a default 
  908.         keyword file.
  909.       
  910.         ┌─────────────┬─────────────┬──────────────┬───────────┐
  911.         │ Value of n  │ C Keywords  │ C++ Keywords │ Support   │
  912.         ├─────────────┼─────────────┼──────────────┼───────────┤
  913.         │ 0           │ C.DEF       │ CPP.DEF      │ ANSI      │
  914.         │ 1           │ C.MS        │ CPP.MS       │ Microsoft │
  915.         │ 2           │ C.BOR       │ CPP.BOR      │ Borland   │
  916.         └─────────────┴─────────────┴──────────────┴───────────┘
  917.         
  918.     /L      LINE NUMBER
  919.         
  920.         The /L option deactivates the line numbers feature.  When 
  921.         the line numbers feature is active, it provides for line 
  922.         numbers to be displayed at the beginning of each line of 
  923.         code.
  924.  
  925.     /Mn     MARGIN
  926.         
  927.         The /M option controls the margin feature.  The value n 
  928.         sets the number of characters to indent.  Legal values
  929.         range from 0 to 16.  The default is n=0, or no margin.  
  930.         For portrait orientations, the margin is on the left 
  931.         side of the page.  For landscape orientations, the 
  932.         margin is on the top side of the page.
  933.         
  934.     /N      PAGE NUMBERS
  935.         
  936.         The /N option deactivates the page numbers feature.  When 
  937.         the page numbers feature is active, it provides page 
  938.         numbers at the bottom center of each page.  The page 
  939.         numbers feature has no effect when the page break feature 
  940.         is inactive.
  941.  
  942.  
  943.  
  944.     User Manual                                        Page 14 of 30
  945.  
  946.     Geist Microsystems                           CodePrint for C/C++
  947.         
  948.         
  949.     /O      OPTIONS
  950.         
  951.         The /O option deactivates the options listing feature. 
  952.         When the options listing feature is active, it provides 
  953.         a list of the option status in the header.  The options 
  954.         feature has no effect when the header feature is 
  955.         inactive.
  956.         
  957.     /Pn     PRINTER PORT  
  958.         
  959.         The /P option controls the printer port status check 
  960.         activated prior to printing.  The value n sets the number 
  961.         of the printer port to check.  The default is 0, the DOS 
  962.         printer port LPT1.  
  963.         
  964.           * NOTE: You can deactivate the print feature altogether by 
  965.         assigning an invalid printer port (e.g. /P7) to the 
  966.         argument n!
  967.         
  968.         ┌─────────────┬────────────────────────────────────────┐
  969.         │ Value of n  │ Printer Port                           │
  970.         ├─────────────┼────────────────────────────────────────┤
  971.         │ 0           │ LPT1 (default)                         │
  972.         │ 1           │ LPT2                                   │
  973.         │ 2           │ LPT3                                   │
  974.         │ 3           │ COM1 (for IBM PC and true compatibles) │
  975.         │ 4           │ COM2 (for IBM PC and true compatibles) │
  976.         │ 5           │ COM3 (for IBM PC and true compatibles) │
  977.         │ 6           │ COM4 (for IBM PS/2 only)               │
  978.         └─────────────┴────────────────────────────────────────┘
  979.         
  980.         The COM1, COM2, COM3 ports work only for IBM PCs and 
  981.         true compatibles.  The COM4 port is available for IBM 
  982.         PS/2s.
  983.       
  984.     /Q      QUICK PRINT
  985.         
  986.         The /Q option activates the quick print macro.  When the 
  987.         quick print feature is active, it provides a quick 
  988.         printout of the destination file by cancelling the 
  989.         following enhanced printing features: doublestrike, 
  990.         emphasized, italicized and underlined printing.  This is 
  991.         equivalent to the /D /E /I /U options. 
  992.  
  993.  
  994.  
  995.  
  996.  
  997.  
  998.  
  999.  
  1000.  
  1001.  
  1002.  
  1003.     User Manual                                        Page 15 of 30
  1004.  
  1005.     Geist Microsystems                           CodePrint for C/C++
  1006.  
  1007.  
  1008.     /R      REFORMAT
  1009.         
  1010.         The /R option activates the reformatting macro.  It 
  1011.         provides for reformatting of source files by cancelling 
  1012.         all pretty printing features including: page breaks, 
  1013.         doublestrike and emphasized printing, form feeds, 
  1014.         header, italicicized printing,line numbers, margin, page 
  1015.         numbers, printing, underlined printing and flow lines. 
  1016.         This is equivalent to the /B0 /D /E /F /H /I /L /M /N 
  1017.         /P-1 /U /V /X options. 
  1018.  
  1019.      /S     SPACES
  1020.         
  1021.         The /S option deactivates the spaces feature.  When the 
  1022.         space feature is active, it provides consistent 
  1023.         whitespace editing for each line of code.  The spaces 
  1024.         feature has no effect when the auto-indent feature is
  1025.         inactive. 
  1026.  
  1027.     /Tn     TAB SPACING
  1028.         
  1029.         The /T option controls the tab spacing feature.  The tab 
  1030.         spacing feature specifies the number of spaces per 
  1031.         indent level.  Legal values rangw from 1 to 8.  The 
  1032.         default is n=4.  The tab spacing feature has no effect 
  1033.         when the auto-indent feature is inactive.
  1034.         
  1035.     /Vn     TAB CONVERSION
  1036.         
  1037.         The /V option controls the tab conversion feature. 
  1038.         CodePrint replaces any tabs it finds in the source file 
  1039.         with an equivalent number of spaces in the destination 
  1040.         file.  The value n specifies the number of spaces that 
  1041.         are used to replace tabs.  Legal values range from 1 to 
  1042.         8.  The default is n=8, resulting in 8 spaces per tab.  
  1043.         The spaces feature has no effect when the auto-indent 
  1044.         feature is inactive.
  1045.  
  1046.     /Wn     CARRIAGE WIDTH 
  1047.         
  1048.         The /W option controls the carriage width option.  The 
  1049.         carriage width option specifies the width of the printed 
  1050.         page in decimal inches.  Legal values for carriage width 
  1051.         are between 1.0 and 18.0 inches.  The default value of  
  1052.         8.0 inches allows for 1/4" margins on each side of an 
  1053.         8-1/2" sheet of paper.
  1054.         
  1055.     /X      EXTRA FORM FEED
  1056.         
  1057.         The /X option deactivates the extra form feed feature. 
  1058.         When the extra form feed feature is active, it provides 
  1059.         for a form feed at the end of each file printed.
  1060.  
  1061.  
  1062.     User Manual                                        Page 16 of 30
  1063.  
  1064.     Geist Microsystems                           CodePrint for C/C++
  1065.  
  1066.  
  1067.     /Yn     INDENT STYLE
  1068.         
  1069.         The /Y option controls the indent style of the formatted 
  1070.         source code. 
  1071.         
  1072.         ┌─────────────┬──────────────────┬─────────────────────┐
  1073.         │ Value of n  │ Description      │ Example             │
  1074.         ├─────────────┼──────────────────┼─────────────────────┤
  1075.         │ 0           │ No Effect        │                     │
  1076.         ├─────────────┼──────────────────┼─────────────────────┤
  1077.         │ 1           │ Standard         │ if (<condition>) {  │
  1078.         │             │ K&R Indent       │     <statement>     │
  1079.         │             │ Style            │ }                   │
  1080.         ├─────────────┼──────────────────┼─────────────────────┤
  1081.         │ 2           │ Braces on        │ if (<condition>)    │
  1082.         │             │ Separate Lines   │ {                   │
  1083.         │             │ Aligned with     │     <statement>     │
  1084.         │             │ Keyword          │ }                   │
  1085.         ├─────────────┼──────────────────┼─────────────────────┤
  1086.         │ 3           │ Braces on        │ if (<condition>)    │
  1087.         │             │ Separate Lines   │     {               │
  1088.         │             │ Indented Beyond  │     <statement>     │
  1089.         │             │ Keyword          │     }               │
  1090.         └─────────────┴──────────────────┴─────────────────────┘
  1091.  
  1092.  
  1093.  
  1094.  
  1095.  
  1096.  
  1097.  
  1098.  
  1099.  
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105.  
  1106.  
  1107.  
  1108.  
  1109.  
  1110.  
  1111.  
  1112.  
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.  
  1120.  
  1121.     User Manual                                        Page 17 of 30
  1122.  
  1123.